'''
excl 不需要导入页面，使用的是PYQT5自带的文件查询方法，该方法在 init_page_base.py 中
        # 选择文件路径方法（调用文件选择器选择文件 并保存到 daoru_input1 中）
        def show_excl_source_init():
            daoru_combo1_key = self.daoru_combo1.currentText()
            # print(daoru_combo1_key)
            file_path = QFileDialog.getOpenFileName(self, "选择文件", "/", "Text Files (*.{0});;All Files (*)".format(
                self.file_dict[daoru_combo1_key]))
            excl_path = file_path[0]
            print(excl_path)
            # 路径保存到输入框中
            self.daoru_input1.setText(excl_path)

用户选择好文件路径后直接对文件进行处理即可， 处理方法在

'''
from PyQt5.Qt import *
import xlrd
import xlwt
import datetime
from xlrd import xldate_as_tuple


class ExclInitFunc(object):
    '''
    将excl中的数据挂载到qApp上
    '''
    def __init__(self, excl_path, cur_sheet, sheet_index):
        # excl文件路径
        self.excl_path = excl_path
        # 当前 cur_sheet
        self.cur_sheet = cur_sheet
        # excl文件中的数据
        self.excl_source_dict = {
            'name': 'excl',
            'uni': {
                'file_path': excl_path,
                'sheet_index': sheet_index
            },
            'com': {
                'field_name_list': [],
                'field_content_list': []
            }
        }

    def excl2qApp(self):
        '''
        读取excl中的数据
        :return:
        '''
        # 打开excel表格
        # workbook = xlrd.open_workbook(self.excl_path)
        # 获取第一个sheet对象
        # sheet1_object = self.workbook.sheet_by_index(0)
        # 获取第一列数据

        # 获取最大列数
        row_count = self.cur_sheet.nrows if self.cur_sheet.nrows < 11 else 11

        for i in range(row_count):
            # field_count = len(self.cur_sheet.row_values(0))
            col_slice = self.cur_sheet.row_slice(rowx=i)

            fmt_col_slice = []
            for col in col_slice:
                # 判断ctype是否==3，如果是3就转成日期型字段 start -----------------------
                cell_field = col
                if cell_field.ctype == 3:
                    # 转成datetime对象
                    date = datetime.datetime(*xldate_as_tuple(cell_field.value, 0))
                    cell_value = date.strftime('%Y-%m-%d %H:%M:%S')
                else:
                    cell_value = str(cell_field.value)
                fmt_col_slice.append(cell_value)
                # 判断ctype是否==3，如果是3就转成日期型字段 end -------------------------

            print('col_slice: {0}'.format(fmt_col_slice))
            if i == 0:
                self.excl_source_dict['com']['field_name_list'] = fmt_col_slice
            else:
                self.excl_source_dict['com']['field_content_list'].append(fmt_col_slice)
        print(self.excl_source_dict)
        # excl表的前十条数据挂载到qApp中
        qApp.cx_src = self.excl_source_dict





